<html>
	<head>
		<meta charset="utf-8"/>
		<title>BTabWidget</title>
		<link rel="stylesheet" type="text/css" href="../style.css"/>
	</head>
	<body>
		<h1>BTabWidget</h1>
		<p>Inherites from <a href="BWidget.html">BWidget</a></p>
		<h2>public</h2>
		<table id="public"><tr><td align="right"></td><td><a href="#BTabWidget(BWidget*)">BTabWidget</a>(BWidget* parent = 0);</td></tr>
			<tr><td align="right"></td><td><a href="#~BTabWidget()">~BTabWidget</a>();</td></tr>
			<tr><td align="right">void </td><td><a href="#setTabAlign(Align)">setTabAlign</a>(Align tabAlign);</td></tr>
			<tr><td align="right">Align </td><td><a href="#tabAlign()">tabAlign</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setTabForm(Form)">setTabForm</a>(Form tabForm);</td></tr>
			<tr><td align="right">Form </td><td><a href="#tabForm()">tabForm</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setTabSize(const BSize&)">setTabSize</a>(const BSize& tabSize);</td></tr>
			<tr><td align="right">const BSize& </td><td><a href="#tabSize()">tabSize</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setTabSpacing(int)">setTabSpacing</a>(int tabSpacing);</td></tr>
			<tr><td align="right">int </td><td><a href="#tabSpacing()">tabSpacing</a>() const;</td></tr>
			<tr><td align="right">bool </td><td><a href="#setTabClosable(BWidget*, bool)">setTabClosable</a>(BWidget* widget, bool closable);</td></tr>
			<tr><td align="right">bool </td><td><a href="#tabClosable(BWidget*)">tabClosable</a>(BWidget* widget) const;</td></tr>
			<tr><td align="right">virtual bool </td><td><a href="#addTab(BWidget*,bool)">addTab</a>(BWidget* widget, bool closable = false);</td></tr>
			<tr><td align="right">virtual bool </td><td><a href="#removeTab(BWidget*)">removeTab</a>(BWidget* widget);</td></tr>
			<tr><td align="right">bool </td><td><a href="#removeTab(const BString&)">removeTab</a>(const BString& title);</td></tr>
			<tr><td align="right">bool </td><td><a href="#removeTab(int)">removeTab</a>(int index);</td></tr>
			<tr><td align="right">bool </td><td><a href="#clearTabs()">clearTabs</a>();</td></tr>
			<tr><td align="right">void </td><td><a href="#setBegin(int)">setBegin</a>(int begin);</td></tr>
			<tr><td align="right">int </td><td><a href="#begin()">begin</a>();</td></tr>
			<tr><td align="right">bool </td><td><a href="#setCurrent(int)">setCurrent</a>(int index);</td></tr>
			<tr><td align="right">bool </td><td><a href="#setCurrent(BWidget*)">setCurrent</a>(BWidget* widget);</td></tr>
			<tr><td align="right">bool </td><td><a href="#setCurrent(const BString&)">setCurrent</a>(const BString& title);</td></tr>
			<tr><td align="right">BWidget* </td><td><a href="#current()">current</a>() const;</td></tr>
			<tr><td align="right">int </td><td><a href="#indexOf(const BWidget*)">indexOf</a>(const BWidget* widget);</td></tr>
			<tr><td align="right">int </td><td><a href="#indexOf(const BString&)">indexOf</a>(const BString& title);</td></tr>
			<tr><td align="right">int </td><td><a href="#tabCount()">tabCount</a>() const;</td></tr>
			<tr><td align="right">BWidget* </td><td><a href="#tab(int)">tab</a>(int index);</td></tr>
			<tr><td align="right">const BWidget* </td><td><a href="#tab(int)">tab</a>(int index) const;</td></tr>
			<tr><td align="right">bool </td><td><a href="#contains(const BWidget*)">contains</a>(const BWidget* widget) const;</td></tr>
			<tr><td align="right">bool </td><td><a href="#contains(const BString&)">contains</a>(const BString& title) const;</td></tr>
			<tr><td align="right">BWidget* </td><td><a href="#findTab(const BString&)">findTab</a>(const BString& title);</td></tr>
			<tr><td align="right">const BWidget* </td><td><a href="#findTab(const BString&)">findTab</a>(const BString& title) const;</td></tr>
			<tr><td align="right">BRect </td><td><a href="#tabRect(int)">tabRect</a>(int tab);</td></tr>
			<tr><td align="right">BRect </td><td><a href="#tabRect(BWidget*)">tabRect</a>(BWidget* widget);</td></tr>
			<tr><td align="right">void </td><td><a href="#setHintTabs(bool)">setHintTabs</a>(bool hintTabs);</td></tr>
			<tr><td align="right">bool </td><td><a href="#hintTabs()">hintTabs</a>() const;</td></tr>
			<tr><td align="right">virtual BSize </td><td><a href="#sizeHint()">sizeHint</a>() const;</td></tr>
		</table>
		<h2>protected</h2>
		<table id="protected"><tr><td align="right">virtual void </td><td><a href="#resizeEvent(const BEvent&)">resizeEvent</a>(const BEvent& event);</td></tr>
			<tr><td align="right">virtual void </td><td><a href="#styleEvent(const BEvent&)">styleEvent</a>(const BEvent& event);</td></tr>
			<tr><td align="right">virtual void </td><td><a href="#freshEvent(const BEvent&)">freshEvent</a>(const BEvent& event);</td></tr>
			<tr><td align="right">virtual void </td><td><a href="#paintEvent(const BEvent&)">paintEvent</a>(const BEvent& event);</td></tr>
			<tr><td align="right">virtual void </td><td><a href="#mouseEnterEvent(const BMouseEvent&)">mouseEnterEvent</a>(const BMouseEvent& mouseEvent);</td></tr>
			<tr><td align="right">virtual void </td><td><a href="#mouseLeaveEvent(const BMouseEvent&)">mouseLeaveEvent</a>(const BMouseEvent& mouseEvent);</td></tr>
			<tr><td align="right">virtual void </td><td><a href="#mousePressEvent(const BMouseEvent&)">mousePressEvent</a>(const BMouseEvent& mouseEvent);</td></tr>
			<tr><td align="right">virtual void </td><td><a href="#mouseReleaseEvent(const BMouseEvent&)">mouseReleaseEvent</a>(const BMouseEvent& mouseEvent);</td></tr>
			<tr><td align="right">virtual void </td><td><a href="#mouseMoveEvent(const BMouseEvent&)">mouseMoveEvent</a>(const BMouseEvent& mouseEvent);</td></tr>
			<tr><td align="right">virtual void </td><td><a href="#mouseClickEvent(const BMouseEvent&)">mouseClickEvent</a>(const BMouseEvent& event);</td></tr>
		</table>
		<div id="desc">
			<h2>Detailed Description : </h2>
			<p/><table>Signals: <tr>
					<td>Signal_CurrentChanged</td><td>Emited when current tab changed.</td></tr>
				<tr><td>Signal_TabClosed</td><td>Emited when a tab is removed.</td></tr>
				<tr><td>Signal_TabClosing</td><td>Emited before a tab is removed, the result of value is a widget pointer, if result is 0, it will cancel the closing. </td></tr>
				<tr><td>Signal_TabClicked</td><td>Emited if a tab is left clicked.</td></tr>
				<tr><td>Signal_TabRightClicked</td><td>Emited if a tab is right clicked.</td></tr></table>
			<h3>Style Sheet:</h3>
			<p>BTabWidget has a arrow button child and a popup widget which show the list of items unable to display. You can use "BTabWidget:arrow" to select it in style sheet, the popup widget can be selected by "BTabWidget:board".</p>
			<table>
				<tr><td>button-close-icon</td><td>To set close icon of tabs, it shows while tabClosable is true.</td></tr>
				<tr><td>icon-size</td><td>To set tab icon size and close icon size.</td></tr>
				<tr><td>space</td><td>To set the space between two tabs.</td></tr>
				<tr><td/><td/></tr></table>
		</div>
		<h2 id="docs">Member Documentation</h2>
		<div id="BTabWidget(BWidget*)">
			<h3>BTabWidget(BWidget* parent = 0);</h3>
		</div>
		<div id="~BTabWidget()">
			<h3>~BTabWidget();</h3>
		</div>
		<div id="setTabAlign(Align)">
			<h3>void setTabAlign(Align tabAlign);</h3>
		</div>
		<div id="tabAlign()">
			<h3>Align tabAlign() const;</h3>
		</div>
		<div id="setTabForm(Form)">
			<h3>void setTabForm(Form tabForm);</h3>
		</div>
		<div id="tabForm()">
			<h3>Form tabForm() const;</h3>
		</div>
		<div id="setTabSize(const BSize&)">
			<h3>void setTabSize(const BSize& tabSize);</h3>
		</div>
		<div id="tabSize()">
			<h3>const BSize& tabSize() const;</h3>
		</div>
		<div id="setTabSpacing(int)">
			<h3>void setTabSpacing(int tabSpacing);</h3>
		</div>
		<div id="tabSpacing()">
			<h3>int tabSpacing() const;</h3>
		</div>
		<div id="setTabClosable(BWidget*, bool)">
			<h3>bool setTabClosable(BWidget* widget, bool closable);</h3>
		</div>
		<div id="tabClosable(BWidget*)">
			<h3>bool tabClosable(BWidget* widget) const;</h3>
		</div>
		<div id="addTab(BWidget*,bool)">
			<h3>virtual bool addTab(BWidget* widget, bool closable = false);</h3>
		</div>
		<div id="removeTab(BWidget*)">
			<h3>virtual bool removeTab(BWidget* widget);</h3>
		</div>
		<div id="removeTab(const BString&)">
			<h3>bool removeTab(const BString& title);</h3>
		</div>
		<div id="removeTab(int)">
			<h3>bool removeTab(int index);</h3>
		</div>
		<div id="clearTabs()">
			<h3>bool clearTabs();</h3>
		</div>
		<div id="setBegin(int)">
			<h3>void setBegin(int begin);</h3>
		</div>
		<div id="begin()">
			<h3>int begin();</h3>
		</div>
		<div id="setCurrent(int)">
			<h3>bool setCurrent(int index);</h3>
		</div>
		<div id="setCurrent(BWidget*)">
			<h3>bool setCurrent(BWidget* widget);</h3>
		</div>
		<div id="setCurrent(const BString&)">
			<h3>bool setCurrent(const BString& title);</h3>
		</div>
		<div id="current()">
			<h3>BWidget* current() const;</h3>
		</div>
		<div id="indexOf(const BWidget*)">
			<h3>int indexOf(const BWidget* widget);</h3>
		</div>
		<div id="indexOf(const BString&)">
			<h3>int indexOf(const BString& title);</h3>
		</div>
		<div id="tabCount()">
			<h3>int tabCount() const;</h3>
		</div>
		<div id="tab(int)">
			<h3>BWidget* tab(int index);</h3>
		</div>
		<div id="tab(int)">
			<h3>const BWidget* tab(int index) const;</h3>
		</div>
		<div id="contains(const BWidget*)">
			<h3>bool contains(const BWidget* widget) const;</h3>
		</div>
		<div id="contains(const BString&)">
			<h3>bool contains(const BString& title) const;</h3>
		</div>
		<div id="findTab(const BString&)">
			<h3>BWidget* findTab(const BString& title);</h3>
		</div>
		<div id="findTab(const BString&)">
			<h3>const BWidget* findTab(const BString& title) const;</h3>
		</div>
		<div id="tabRect(int)">
			<h3>BRect tabRect(int tab);</h3>
		</div>
		<div id="tabRect(BWidget*)">
			<h3>BRect tabRect(BWidget* widget);</h3>
		</div>
		<div id="setHintTabs(bool)">
			<h3>void setHintTabs(bool hintTabs);</h3>
		</div>
		<div id="hintTabs()">
			<h3>bool hintTabs() const;</h3>
		</div>
		<div id="sizeHint()">
			<h3>virtual BSize sizeHint() const;</h3>
		</div>
		<div id="resizeEvent(const BEvent&)">
			<h3 id="resizeEvent(const BEvent&)">virtual void resizeEvent(const BEvent& event);</h3>
		</div>
		<div id="styleEvent(const BEvent&)">
			<h3 id="styleEvent(const BEvent&)">virtual void styleEvent(const BEvent& event);</h3>
		</div>
		<div id="freshEvent(const BEvent&)">
			<h3 id="freshEvent(const BEvent&)">virtual void freshEvent(const BEvent& event);</h3>
		</div>
		<div id="paintEvent(const BEvent&)">
			<h3 id="paintEvent(const BEvent&)">virtual void paintEvent(const BEvent& event);</h3>
		</div>
		<div id="mouseEnterEvent(const BMouseEvent&)">
			<h3 id="mouseEnterEvent(const BMouseEvent&)">virtual void mouseEnterEvent(const BMouseEvent& mouseEvent);</h3>
		</div>
		<div id="mouseLeaveEvent(const BMouseEvent&)">
			<h3 id="mouseLeaveEvent(const BMouseEvent&)">virtual void mouseLeaveEvent(const BMouseEvent& mouseEvent);</h3>
		</div>
		<div id="mousePressEvent(const BMouseEvent&)">
			<h3 id="mousePressEvent(const BMouseEvent&)">virtual void mousePressEvent(const BMouseEvent& mouseEvent);</h3>
		</div>
		<div id="mouseReleaseEvent(const BMouseEvent&)">
			<h3 id="mouseReleaseEvent(const BMouseEvent&)">virtual void mouseReleaseEvent(const BMouseEvent& mouseEvent);</h3>
		</div>
		<div id="mouseMoveEvent(const BMouseEvent&)">
			<h3 id="mouseMoveEvent(const BMouseEvent&)">virtual void mouseMoveEvent(const BMouseEvent& mouseEvent);</h3>
		</div>
		<div id="mouseClickEvent(const BMouseEvent&)">
			<h3 id="mouseClickEvent(const BMouseEvent&)">virtual void mouseClickEvent(const BMouseEvent& event);</h3>
		</div>
	</body>
</html>